Logotipo da disciplina PAG014903

Fundamentos de Programação em Python

v0.0.2

Padrão

A Base de Tudo — Variáveis e Dados Simples

Descubra como o Python guarda informações, domine os tipos de dados fundamentais e cultive boas práticas que deixarão seu código claro e confiável desde o primeiro dia.

Você vai aprender a

  • Relacionar variáveis com a memória do computador.
  • Identificar os principais tipos de dados e quando usá-los.
  • Receber e converter informações digitadas pela pessoa usuária.

Introdução: como o computador guarda informações?

Todo programa, do script mais curto ao sistema que integra dados de campo, precisa manipular informações. Elas podem ser o nome de uma rua, a altura de um poste, uma coordenada GPS ou a lista de bairros da sua cidade. Para trabalhar com tudo isso, o computador reserva espaços temporários na memória RAM, e nós damos rótulos para encontrar esses espaços com facilidade: as variáveis.

Analogia das caixinhas

Imagine várias caixinhas etiquetadas em uma prateleira (a memória). Cada etiqueta é o nome da variável e dentro dela colocamos o valor que precisamos durante a execução do programa.

  • 📦nome_da_rua guarda “Avenida Mauro Ramos”.
  • 📦numero_do_predio guarda 950.
  • 📦tem_estacionamento guarda True.
# Criando "caixinhas" e etiquetando valores
nome_da_rua = "Avenida Mauro Ramos"
numero_do_predio = 950
tem_estacionamento = True

# Variáveis podem ser atualizadas ao longo do tempo
temperatura_atual = 25.5
temperatura_atual = 26.0  # entrou um novo valor na mesma caixinha

Atenção: em Python o símbolo = significa atribuição. Para comparar valores usamos ==. Guarde esta diferença para evitar bugs silenciosos.

Variáveis simples: os tipos que usamos todos os dias

Chamamos de tipos primitivos os valores que representam uma única informação. Saber diferenciá-los garante precisão em cálculos, mapas e relatórios.

str

String (str) — texto

Perfeita para nomes, endereços, códigos de setor e qualquer dado qualitativo.

Ponto de atenção: CEPs, telefones e IDs devem ser strings para preservar zeros à esquerda e caracteres especiais.
nome_municipio = "Florianópolis"
tipo_de_poste = "Concreto Armado"
codigo_do_mapa = "FLN_MAPA_01"
cep_ifsc = "88020-300"
setor_censitario = "0014"

print(type(nome_municipio))  # <class 'str'>
int

Integer (int) — números inteiros

Use para contagens exatas, identificadores sequenciais e cálculos sem casas decimais.

ano_de_fundacao = 1726
quantidade_de_postes = 150
populacao_setor_A = 534
altitude_metros = 812

print(type(quantidade_de_postes))  # <class 'int'>
float

Float (float) — números com casas decimais

Fundamentais para coordenadas, distâncias, áreas e medições que exigem precisão.

Atenção: sempre use ponto (.) como separador decimal. Vírgula (,) produz erros silenciosos.
latitude = -27.59397
altura_do_poste = 8.5
area_lote_m2 = 450.75
distancia_km = 1.25

print(type(latitude))  # <class 'float'>
bool

Boolean (bool) — verdadeiro ou falso

São as respostas “sim” ou “não” que direcionam as decisões lógicas do programa.

lampada_acesa = True
requer_manutencao = False
area_protegida = True
dentro_do_limite_urbano = False

print(type(lampada_acesa))  # <class 'bool'>

Nomeando variáveis com clareza

Um código com bons nomes se explica sozinho. Isso vale para revisões rápidas e para o trabalho em equipe.

Regras obrigatórias

  • Comece com letra ou sublinhado. Ex.: rua, _temporario.
  • Use apenas letras, números e _. Evite espaços e símbolos.
  • Não utilize palavras reservadas como for ou True.
  • Lembre-se: cidade, Cidade e CIDADE são nomes diferentes.

Boas práticas que ajudam no dia a dia

  • Prefira nomes descritivos, como latitude_inicial.
  • Adote o padrão snake_case para termos compostos.
  • Evite nomes quase iguais: dado, dado1, dado2 geram confusão.

Dica do professor: quando o nome da variável deixa claro o que ela guarda, você pode reduzir a quantidade de comentários e focar em explicar o “porquê” do algoritmo.

Entrada de dados e conversões necessárias

Programas interativos recebem dados com input(). Essa função sempre devolve texto, por isso precisamos convertê-lo quando desejamos operar numericamente.

cidade = input("Digite o nome da sua cidade: ")
print(f"Você mora em {cidade}")

valor1 = input("Primeiro número: ")
valor2 = input("Segundo número: ")

# Atenção: aqui ainda são strings!
soma_errada = valor1 + valor2
print(soma_errada)  # '105' se a pessoa digitar 10 e 5

Conversão explícita salva o resultado

Transforme para inteiro ou decimal antes de calcular:

valor1 = int(input("Primeiro número: "))
valor2 = int(input("Segundo número: "))

soma = valor1 + valor2
print(f"Resultado correto: {soma}")

idade = int(input("Sua idade: "))
altura = float(input("Altura em metros: "))

Operadores aritméticos no dia a dia

Somar, subtrair, multiplicar e dividir funcionam como você espera. A tabela resume os principais símbolos:

Operador Descrição Exemplo Resultado
+ Adição 5 + 3 8
- Subtração 5 - 3 2
* Multiplicação 5 * 3 15
/ Divisão (sempre float) 10 / 2 5.0
// Divisão inteira (quociente) 10 // 3 3
% Resto da divisão 10 % 3 1
** Exponenciação 2 ** 3 8
resultado_errado = 10 + 20 / 2  # Divisão acontece primeiro
print(f"Resultado errado: {resultado_errado}")

resultado_correto = (10 + 20) / 2  # Forçando a soma vir antes
print(f"Resultado correto: {resultado_correto}")

Curiosidade

Em Python, o operador // sempre arredonda para baixo. Em trabalhos com coordenadas, use-o para converter segundos em graus inteiros.

Formatação elegante com f-strings

As f-strings dão clareza às mensagens e evitam concatenações confusas:

proprietario = "Ana"
area = 450.753
lote = "A-15"

print(f"O lote {lote}, pertencente a {proprietario}, possui {area:.2f} m².")
print(f"Geocódigo: {lote.lower()}-{area:.0f}")

Dentro das chaves, você pode colocar expressões, aplicar filtros de formatação (:.2f para duas casas decimais) e até chamar funções. Aproveite para padronizar unidades e mensagens.

Exemplo avançado: interpolando funções
def formatar_endereco(rua, numero, cidade):
    return f"{rua}, {numero} - {cidade.upper()}"
print(formatar_endereco("Rua das Acácias", 120, "Florianópolis"))

Exercício rápido

  1. Crie três variáveis para armazenar: nome de um bairro, número de domicílios e densidade populacional (float).
  2. Peça para a pessoa usuária digitar a área do bairro (em km²) e calcule a densidade automaticamente.
  3. Mostre o resultado em uma frase usando f-string, com a densidade formatada com duas casas decimais.

Sugestão: compartilhe sua solução no fórum da turma para comparar abordagens.

Conclusão e próximos passos

Você agora entende como o Python armazena e manipula informações fundamentais:

  • Variáveis como rótulos para a memória do computador.
  • Tipos primitivos (string, int, float, bool) e seus usos.
  • Como nomear variáveis com clareza e coerência.
  • O papel de input() e das conversões para inteiros e decimais.
  • Operadores matemáticos e f-strings para exibir resultados profissionais.

Na próxima etapa, vamos reunir várias “caixinhas” em estruturas mais poderosas, como listas e dicionários, preparando o terreno para manipular dados geoespaciais reais.